The present invention relates generally to image rendering (transforming three-dimensional (3-D) objects into a two-dimensional (2-D) image), and more particularly to techniques for aiding users in lighting design, as for example in computer cinematography.
In computer-animated films, the process of lighting design involves placing and configuring lights to define the visual appearance of environments and to enhance story elements. This process is labor intensive and time consuming; for example, one recent computer-animated feature, Pixar's “The Incredibles,” required a crew of 40 lighting artists.
Geometric complexity poses an increasing challenge to relighting systems (sometimes referred to in the literature as relighting engines). Geometric complexity has grown dramatically in recent years, and this trend is expected to continue. In typical production scenes, geometric complexity arises from the number of objects visible in a given shot as well as from the use of high quality surfaces to represent each of these objects. Main characters contain thousands of surfaces, and some include millions of curves representing hair or fur. Indoor environments commonly have tens of thousands of visible objects modeled using subdivision surfaces and NURBS (often in excessive detail), and outdoor environments usually have even higher complexity since they commonly feature millions of leaves or blades of grass. Depth complexity is another aspect of geometric complexity that poses a considerable challenge to relighting systems. Anywhere between 20 and 1000 depth samples are common in final rendering; translucent hair increases depth complexity considerably.
Shader execution dominates render time in shots without raytracing. This high computational cost is due to several factors. First, separate surface shaders are usually written for each object in a scene, resulting in hundreds or even thousands of unique shaders. These shaders can contain over 100,000 instructions and access several gigabytes of textures in a single scene.
Table 1 below shows some measures of scene complexity and properties of surface shaders for the relatively simple scene shown in FIG. 1 and for a representative high-complexity scene from a recent film. Resolution-dependent data is for a 720×301 render.
TABLE 1Relatively simple scene(e.g., scene in FIG. 1)Complex sceneHigher-order primitives2,152136,478Shaded points5,320,71413,732,520Surface shaders1521,312Maximum shader length56,601180,497Average shader length17,26816,753Average plugin calls in shader374316Total size of textures used0.243 GB3.22 GBNumber of lights54169RenderMan render time1:30:374:09:28
The design of high-quality lighting is an interactive process where the designer places lights and renders the scene in an iterative process. Unfortunately, the increases in shot complexity have not been met by similarly dramatic increases in the speed at which computer systems can render high-quality images. Therefore, the designers, who need fast and accurate feedback, are forced to choose between long render times or drastic reductions in image quality in preview renders. Typical techniques to speed up rendering include lower sampling rates, stand-in models, and simplified surface shaders.
Most lighting tasks begin with blocking, in which lights are initially placed and parameters are coarsely adjusted to achieve the desired appearance. In this exploratory phase, small approximations to the final image can be tolerated in exchange for the convenience of interactivity. Blocking is followed by refinement, which is characterized by small changes in the parameters of each light (often just the intensity and position). Feedback during refinement must be highly accurate so that decisions can be finalized. Poor feedback during the design can lead to significant inefficiencies where and less-than-acceptable results only appear after final rendering, necessitating additional design and further time-consuming rendering. Consumers have come to expect nothing but the best, and so allowing not-quite-right scenes to appear in the final product is generally not an acceptable alternative.
Thus, it can be seen that the sheer complexity of scenes in current productions, which includes geometric, surface shader, and light shader complexity, presents an extremely high hurdle for the lighting designer who would benefit from interactive feedback during lighting.